package cn.wolfcode.wolf2w.redis.service;

import cn.wolfcode.wolf2w.domain.UserInfo;

import java.util.List;

public interface IUserInfoRedisService {

    /**
     * 根据key phone 存放 value code
     * @param phone
     * @param code
     */
    void sendVerifyCode(String phone,String code);

    /**
     * 根据key查找value
     * @param phone
     * @return
     */
    String getVerifyCode(String phone);

    /**
     * 创建令牌token
     * @param userInfo
     * @return
     */
    String setToken(UserInfo userInfo);

    /**
     * 根据token查询User
     * @param token
     */
    UserInfo getUserByToken(String token);

    /**
     * 根据用户uid从Redis中获取用户攻略收藏列表
     * @param uid
     * @return
     */
    List<String> getUserStrategyFavorList(String uid);

    /**
     * 设置用户攻略收藏列表到Redis中
     * @param userInfo
     * @param list
     */
    void setUserStrategyFavorList(UserInfo userInfo,List<String> list);

    /**
     * 根据uid判断用户攻略收藏列表key是否存在
     * @param uid
     * @return
     */
    boolean isUserStrategyFavorListExist(String uid);

    /**
     * 查询所有用户收藏攻略列表
     * @return
     */
    List<UserInfo> queryUserFavorStrategyList();
}
